/* Global CSS variables */
:root {
  --spacing-company: 3rem;
  --font-weight: 200;
  --border-radius: 0;
}

/* Typography */
h1,
h2,
h3,
hgroup > :last-child {
  font-weight: 200;
}

small {
  color: var(--muted-color);
}

/* Header */
.hero {
  background-color: #394046;
  background-position: center;
  background-size: cover;
}

header {
  padding: var(--spacing-company) 0;
}

header hgroup > :last-child {
  color: var(--h3-color);
}

header hgroup {
  margin-bottom: var(--spacing-company);
}

/* Nav */
summary[role="link"].contrast:is([aria-current], :hover, :active, :focus) {
  background-color: transparent;
  color: var(--contrast-hover);
}

/* Main */
@media (min-width: 992px) {
  main .grid {
    grid-column-gap: var(--spacing-company);
    grid-template-columns: auto 25%;
  }
}

form.grid {
  grid-row-gap: 0;
}

aside p {
  margin-bottom: var(--spacing-company);
  line-height: 1.25;
}

section {
  margin-bottom: 0;
}

/* sns */
.sns-ul {
  padding: 0;
}
.sns-li {
  display: inline-block;
}

.avatar {
  width: 140px;
  height: 140px;
  border-radius: 50%;
}

footer,
.hd {
  text-align: center;
}

#blog-search {
  display: flex;
}
#search-input {
  flex: 3;
}
#search-btn {
  flex: 1;
}

#blog-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.blog-state {
  display: flex;
  padding:20px;
}

.state-item {
  flex: 1;
  display: flex;
  flex-direction: column;
}
